58 uint8_t
TXData[]= {0xA1,0xB1,0xC1,0xD1};
65 WDT_A_hold(WDT_A_BASE);
69 CS_setDCOFreq(CS_DCORSEL_0,CS_DCOFSEL_3);
71 CS_initClockSignal(CS_ACLK,CS_DCOCLK_SELECT,CS_CLOCK_DIVIDER_8);
73 CS_initClockSignal(CS_SMCLK,CS_DCOCLK_SELECT,CS_CLOCK_DIVIDER_8);
75 CS_initClockSignal(CS_MCLK,CS_DCOCLK_SELECT,CS_CLOCK_DIVIDER_8);
85 GPIO_setAsPeripheralModuleFunctionInputPin(
87 GPIO_PIN6 + GPIO_PIN7,
88 GPIO_SECONDARY_MODULE_FUNCTION
91 EUSCI_B_I2C_initMasterParam
param = {0};
92 param.selectClockSource = EUSCI_B_I2C_CLOCKSOURCE_SMCLK;
93 param.i2cClk = CS_getSMCLK();
94 param.dataRate = EUSCI_B_I2C_SET_DATA_RATE_400KBPS;
95 param.byteCounterThreshold = 0;
96 param.autoSTOPGeneration = EUSCI_B_I2C_NO_AUTO_STOP;
97 EUSCI_B_I2C_initMaster(EUSCI_B0_BASE, &
param);
101 EUSCI_B_I2C_setMode(EUSCI_B0_BASE,
102 EUSCI_B_I2C_TRANSMIT_MODE
105 EUSCI_B_I2C_enable(EUSCI_B0_BASE);
107 EUSCI_B_I2C_clearInterrupt(EUSCI_B0_BASE,
108 EUSCI_B_I2C_TRANSMIT_INTERRUPT0 +
109 EUSCI_B_I2C_NAK_INTERRUPT
113 EUSCI_B_I2C_enableInterrupt(EUSCI_B0_BASE,
114 EUSCI_B_I2C_TRANSMIT_INTERRUPT0 +
115 EUSCI_B_I2C_NAK_INTERRUPT
122 EUSCI_B_I2C_setSlaveAddress(EUSCI_B0_BASE,
129 while (EUSCI_B_I2C_SENDING_STOP == EUSCI_B_I2C_masterIsStopSent
133 EUSCI_B_I2C_masterSendStart(EUSCI_B0_BASE);
135 __bis_SR_register(CPUOFF + GIE);
151 #if defined(__TI_COMPILER_VERSION__) || defined(__IAR_SYSTEMS_ICC__)
152 #pragma vector=USCI_B0_VECTOR
154 #elif defined(__GNUC__)
155 __attribute__((interrupt(USCI_B0_VECTOR)))
159 switch(__even_in_range(UCB0IV,0x1E))
164 EUSCI_B_I2C_masterSendStart(EUSCI_B0_BASE);
178 EUSCI_B_I2C_masterSendMultiByteNext(EUSCI_B0_BASE,
184 EUSCI_B_I2C_masterSendMultiByteStop(EUSCI_B0_BASE);
MPU_initThreeSegmentsParam param
__bic_SR_register_on_exit(LPM3_bits|GIE)